/*
 *  TrailMapEditor.h
 *  trail-map-editor
 *
 *  Created by Giorgio Tino on 3/4/13.
 *  Copyright 2013 __MyCompanyName__. All rights reserved.
 *
 */
#include <stdio.h>
#include <stdlib.h>

#ifdef FREEGLUT_IS_PRESENT
#  include <GL/freeglut.h>
#else
#  ifdef __APPLE__
#    include <GLUT/glut.h>
#  else
#    include <GL/glut.h>
#  endif
#endif

#include "ui.h"

class State;

class TrailMapEditor : public uiApplication
{
	private:
		State* current_state;
		State* new_state;
		
	public:
		TrailMapEditor(int argc, char *argv[]);
		TrailMapEditor(int argc, char *argv[], const char* configFile);
		virtual ~TrailMapEditor();
    
        void shutdown();
    
		void reshape(int w, int h);
		void display();
		void keyDown(unsigned char key, int x, int y);
		void keyUp(unsigned char key, int x, int y);
		void specialDown(unsigned char key, int x, int y);
		void specialUp(unsigned char key, int x, int y);
		void motion(int newx, int newy);
		void passive(int newx, int newy);
		void mouse(int button, int state, int mouseX, int mouseY);
		void idle();
};